home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 5_2007-2008.ISO / data / Zips / sudoku20402212312006.psc / Super Sudoku Solver / frmPrint.frm < prev    next >
Text File  |  2005-08-12  |  8KB  |  282 lines

  1. VERSION 5.00
  2. Begin VB.Form frmPrint 
  3.    Caption         =   "Print puzzles"
  4.    ClientHeight    =   4020
  5.    ClientLeft      =   60
  6.    ClientTop       =   345
  7.    ClientWidth     =   4410
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   4020
  10.    ScaleWidth      =   4410
  11.    StartUpPosition =   1  'CenterOwner
  12.    Begin VB.CheckBox chkShowNames 
  13.       Caption         =   "Show level names"
  14.       Height          =   255
  15.       Left            =   2280
  16.       TabIndex        =   16
  17.       Top             =   1920
  18.       Width           =   1815
  19.    End
  20.    Begin VB.CheckBox chkDoRandom 
  21.       Caption         =   "Print in random order"
  22.       Height          =   255
  23.       Left            =   240
  24.       TabIndex        =   15
  25.       Top             =   1920
  26.       Width           =   2055
  27.    End
  28.    Begin VB.CommandButton btnSettings 
  29.       Caption         =   "Printer settings"
  30.       Height          =   495
  31.       Left            =   2880
  32.       TabIndex        =   14
  33.       Top             =   3360
  34.       Width           =   1335
  35.    End
  36.    Begin VB.CommandButton btnPrint 
  37.       Caption         =   "Print"
  38.       Height          =   495
  39.       Left            =   1560
  40.       TabIndex        =   13
  41.       Top             =   3360
  42.       Width           =   1095
  43.    End
  44.    Begin VB.CommandButton btnCancel 
  45.       Caption         =   "Cancel"
  46.       Height          =   495
  47.       Left            =   240
  48.       TabIndex        =   12
  49.       Top             =   3360
  50.       Width           =   1095
  51.    End
  52.    Begin VB.ComboBox cmbPuzPage 
  53.       Height          =   315
  54.       ItemData        =   "frmPrint.frx":0000
  55.       Left            =   2880
  56.       List            =   "frmPrint.frx":0002
  57.       Style           =   2  'Dropdown List
  58.       TabIndex        =   10
  59.       Top             =   2880
  60.       Width           =   735
  61.    End
  62.    Begin VB.ComboBox cmbPuzNum 
  63.       Height          =   315
  64.       ItemData        =   "frmPrint.frx":0004
  65.       Left            =   2880
  66.       List            =   "frmPrint.frx":0006
  67.       TabIndex        =   8
  68.       Text            =   "Combo1"
  69.       Top             =   2400
  70.       Width           =   735
  71.    End
  72.    Begin VB.Frame Frame1 
  73.       Caption         =   "Print puzzle level"
  74.       Height          =   1695
  75.       Left            =   120
  76.       TabIndex        =   0
  77.       Top             =   120
  78.       Width           =   3975
  79.       Begin VB.CheckBox chkPuzzlev 
  80.          Height          =   255
  81.          Index           =   6
  82.          Left            =   2160
  83.          TabIndex        =   7
  84.          Top             =   960
  85.          Width           =   1575
  86.       End
  87.       Begin VB.CheckBox chkPuzzlev 
  88.          Height          =   255
  89.          Index           =   5
  90.          Left            =   2160
  91.          TabIndex        =   6
  92.          Top             =   600
  93.          Width           =   1575
  94.       End
  95.       Begin VB.CheckBox chkPuzzlev 
  96.          Height          =   255
  97.          Index           =   4
  98.          Left            =   2160
  99.          TabIndex        =   5
  100.          Top             =   240
  101.          Width           =   1575
  102.       End
  103.       Begin VB.CheckBox chkPuzzlev 
  104.          Height          =   255
  105.          Index           =   3
  106.          Left            =   120
  107.          TabIndex        =   4
  108.          Top             =   1320
  109.          Width           =   1575
  110.       End
  111.       Begin VB.CheckBox chkPuzzlev 
  112.          Height          =   255
  113.          Index           =   2
  114.          Left            =   120
  115.          TabIndex        =   3
  116.          Top             =   960
  117.          Width           =   1575
  118.       End
  119.       Begin VB.CheckBox chkPuzzlev 
  120.          Height          =   255
  121.          Index           =   1
  122.          Left            =   120
  123.          TabIndex        =   2
  124.          Top             =   600
  125.          Width           =   1575
  126.       End
  127.       Begin VB.CheckBox chkPuzzlev 
  128.          Height          =   255
  129.          Index           =   0
  130.          Left            =   120
  131.          TabIndex        =   1
  132.          Top             =   240
  133.          Width           =   1575
  134.       End
  135.    End
  136.    Begin VB.Label Label2 
  137.       Caption         =   "Number of puzzles on page"
  138.       Height          =   255
  139.       Left            =   720
  140.       TabIndex        =   11
  141.       Top             =   2880
  142.       Width           =   2055
  143.    End
  144.    Begin VB.Label Label1 
  145.       Caption         =   "Number of puzzles to print"
  146.       Height          =   255
  147.       Left            =   720
  148.       TabIndex        =   9
  149.       Top             =   2400
  150.       Width           =   2055
  151.    End
  152. End
  153. Attribute VB_Name = "frmPrint"
  154. Attribute VB_GlobalNameSpace = False
  155. Attribute VB_Creatable = False
  156. Attribute VB_PredeclaredId = True
  157. Attribute VB_Exposed = False
  158. Private PuzLevNums As String
  159.  
  160. Private Sub btnCancel_Click()
  161.     Unload Me
  162. End Sub
  163.  
  164. Private Sub btnPrint_Click()
  165.     Dim x As Integer, y As Integer
  166.     Dim Puzn1 As Integer, Puzn2 As Integer, PuzNum As Integer
  167.     Dim NuPuz As Integer
  168.     Dim NLev As Integer
  169.     Dim TotPuz(6) As Integer
  170.     PuzLevNums = ""
  171.     PrintPuzNum = Val(cmbPuzNum.Text)
  172.     PrintPage = Val(cmbPuzPage.Text)
  173.     For x = 0 To 6
  174.         If chkPuzzlev(x) = 1 Then
  175.             PuzLevNums = PuzLevNums & Trim(Str(x))
  176.         End If
  177.     Next
  178.     If PuzLevNums = "" Then
  179.         MsgBox "Which levels do i need to print"
  180.         Exit Sub
  181.     End If
  182.     frmCollecting.Show
  183.     DoEvents
  184.     ReDim PrintSud(PrintPuzNum)
  185.     Printlevnums = ""
  186.     Puzn1 = PrintPuzNum / Len(PuzLevNums)
  187.     Puzn2 = PrintPuzNum - Puzn1 * (Len(PuzLevNums) - 1)
  188.     PuzNum = Puzn2
  189.     If chkDoRandom = 1 And chkDoRandom.Enabled = True Then
  190.         For x = 1 To Len(PuzLevNums)
  191.             TotPuz(Val(Mid(PuzLevNums, x, 1))) = PuzNum
  192.             PuzNum = Puzn1
  193.         Next
  194.         For x = 1 To PrintPuzNum
  195.             Puzn1 = Rnd(1) * Len(PuzLevNums) + 1
  196.             If Puzn1 > Len(PuzLevNums) Then Puzn1 = Len(PuzLevNums)
  197.             NLev = Val(Mid(PuzLevNums, Puzn1, 1))
  198.             Do While TotPuz(NLev) = 0
  199.                 NLev = (NLev + 1) Mod 7
  200.             Loop
  201.             TotPuz(NLev) = TotPuz(NLev) - 1
  202.             PrintSud(x) = GetField(NLev)
  203.             PrintSud(x) = Scramble_Field(PrintSud(x))
  204.             Printlevnums = Printlevnums & Trim(Str(NLev))
  205.         Next
  206.     Else
  207.         NuPuz = 1
  208.         For x = 1 To Len(PuzLevNums)
  209.             For y = 1 To PuzNum
  210.                 NLev = Val(Mid(PuzLevNums, x, 1))
  211.                 PrintSud(NuPuz) = GetField(NLev)
  212.                 PrintSud(NuPuz) = Scramble_Field(PrintSud(NuPuz))
  213.                 Printlevnums = Printlevnums & Trim(Str(NLev))
  214.                 NuPuz = NuPuz + 1
  215.             Next
  216.             PuzNum = Puzn1
  217.         Next
  218.     End If
  219.     Unload frmCollecting
  220.     DoEvents
  221.     frmPrinting.Show
  222.     DoEvents
  223.     Call PrintPages
  224.     Unload frmPrinting
  225.     DoEvents
  226.     Unload Me
  227. End Sub
  228.  
  229. Private Sub btnSettings_Click()
  230.     Dim PrtErr As Boolean
  231.     ShowPrinter Me, PrtErr
  232. End Sub
  233.  
  234. Private Sub chkPuzzlev_Click(Index As Integer)
  235.     Dim x As Integer
  236.     PuzLevNums = ""
  237.     For x = 0 To 6
  238.         If chkPuzzlev(x) = 1 Then
  239.             PuzLevNums = PuzLevNums & Trim(Str(x))
  240.         End If
  241.     Next
  242.     If Len(PuzLevNums) > 1 Then
  243.         chkDoRandom.Enabled = True
  244.     Else
  245.         chkDoRandom.Enabled = False
  246.     End If
  247. End Sub
  248.  
  249. Private Sub chkShowNames_Click()
  250.     PrintLev = chkShowNames
  251. End Sub
  252.  
  253. Private Sub cmbPuzNum_Change()
  254.     If cmbPuzNum = "" Then cmbPuzNum = "1"
  255. End Sub
  256.  
  257. Private Sub cmbPuzPage_Change()
  258.     If cmbPuzPage = "" Then cmbPuzPage = "1"
  259. End Sub
  260.  
  261. Private Sub Form_Activate()
  262.     Dim x As Integer
  263.     For x = 0 To 6
  264.         chkPuzzlev(x).Caption = LNames(x)
  265.     Next
  266.     cmbPuzNum.Clear
  267.     For x = 1 To 500
  268.         cmbPuzNum.AddItem x
  269.     Next
  270.     cmbPuzNum = PrintPuzNum
  271.     cmbPuzPage.Clear
  272.     For x = 1 To 2
  273.         cmbPuzPage.AddItem x
  274.     Next
  275.     If GridSize = 3 Then cmbPuzPage.AddItem "4"
  276.     cmbPuzPage = PrintPage
  277.     chkDoRandom = 0
  278.     chkDoRandom.Enabled = False
  279.     chkShowNames = PrintLev
  280. End Sub
  281.  
  282.